﻿'
' PDSplitter - http://www.dotnetcode.it
' Copyright (c) 2011
' by DotNetCode.IT
'
' Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
' documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
' the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
' to permit persons to whom the Software is furnished to do so, subject to the following conditions:
'
' The above copyright notice and this permission notice shall be included in all copies or substantial portions 
' of the Software.
'
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
' TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
' THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
' CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
' DEALINGS IN THE SOFTWARE.
'

Imports System.IO
Imports Microsoft.Win32


Public Class Utility

    Public Shared Function GetConfigurationSetting(ByVal SettingName As String, Optional ByVal DefaultValue As String = "") As String
        Dim result As String = ""
        Try
            result = Configuration.ConfigurationManager.AppSettings(SettingName)
        Catch ex As Exception

        Finally
            If result.Trim = "" AndAlso DefaultValue.Trim <> "" Then
                result = DefaultValue
            End If
        End Try
        Return result
    End Function

    Public Shared Function SaveRegistrySetting(ByVal SettingName As String, ByVal Value As String) As Boolean
        Dim result As Boolean = True
        Dim registryKey As RegistryKey
        Try
            registryKey = Registry.LocalMachine

            Dim registrySubKey As RegistryKey

            registrySubKey = registryKey.OpenSubKey("SOFTWARE\DOTNETCODE\" + Application.ProductName, True)
            If registrySubKey Is Nothing Then
                registrySubKey = registryKey.CreateSubKey("SOFTWARE\DOTNETCODE\" + Application.ProductName)
            End If

            registrySubKey.SetValue(SettingName, Value)

        Catch ex As Exception
            result = False
        End Try

        Return result
    End Function

    Public Shared Function ReadRegistrySetting(ByVal SettingName As String) As String
        Dim result As String = ""
        Dim registryKey As RegistryKey
        registryKey = Registry.LocalMachine
        Try
            Dim registrySubKey As RegistryKey
            registrySubKey = registryKey.OpenSubKey("SOFTWARE\DOTNETCODE\" + Application.ProductName, True)
            If registrySubKey Is Nothing Then
                registrySubKey = registryKey.CreateSubKey("SOFTWARE\DOTNETCODE\" + Application.ProductName)
            End If
            Try
                result = registrySubKey.GetValue(SettingName).ToString
            Catch ex As Exception

            End Try
        Catch ex As Exception

        End Try
        Return result
    End Function

End Class

